当一个有很多图片的网站首屏加载时,用户的可视区域只能看到20%的图片,如果这时候就请求所有图片资源显然是不合理的,不仅影响页面的渲染速度,还浪费用户的带宽.
那么我们就根据用户的可视区域进行图片的懒加载. 同时使用函数防抖和函数节流提升用户体验!
普通图片懒加载
1. 先将图片的src设置为loading.gif,真实路径放在temp-src这个attr上.
2. 当图片出现在浏览器的可视区域就将真实路径赋值给src.
1 | window.onload = (() => { |
懒加载 + 函数防抖
1. 通过setTimeout控制scroll事件的触发频率
2. 设置一个延迟时间保证scroll时间不被完全锁死
1 | window.onload = (() => { |
总结
1. 这里是具体的Demo
2. 这里是我对函数防抖和函数节流的总结
3. 这里是对Demo的优化,使用了js 瀑布流布局 + 懒加载 + 函数防抖